package com.zhuyi.broadcast.pojo.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhuyi.common.annotation.Excel;
import lombok.Data;

import java.util.Date;


/**
 * 资源实体类
 */
@Data
@TableName("bc_resource") // 映射到数据库中的 bc_resource 表
public class Resource {

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     *  资源名称
     */
    @TableField("resource_name")
    private String resourceName;

    /** 资源种类 1、文件夹 2、文件 */
    @Excel(name = "资源种类", readConverterExp = "$column.readConverterExp()")
    @TableField("resource_category")
    private Short resourceCategory;

    /** 资源存储名称 */
    @Excel(name = "资源存储名称")
    @TableField("file_name")
    private String fileName;

    /** 资源类型（image, video, subtitle 等） */
    @TableField("resource_type")
    private String resourceType;

    /** 状态，默认1、正常，0、停用 2、删除 */
    @Excel(name = "状态，默认1、正常，0、停用，2、删除")
    @TableField("resource_state")
    private String resourceState;

    /** 资源存储路径 */
    @TableField("resource_path")
    private String resourcePath;

    /** 文件大小（字节） */
    @TableField("size")
    private Long size;

    /** 上传用户 */
    @TableField("uploaded_by")
    private String uploadedBy;

    /** 上传时间 */
    @TableField("upload_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date uploadTime;

    /** 父级文件资源ID */
    @Excel(name = "父级文件资源ID", readConverterExp = "$column.readConverterExp()")
    @TableField("parent_id")
    private Long parentId;

    /** 父级文件资源路径 */
    @Excel(name = "父级文件资源路径", readConverterExp = "$column.readConverterExp()")
    @TableField("parent_id_path")
    private String parentIdPath;

    /** 加密 */
    @TableField(exist = false)
    private String viewKey;
}
